/**
 * 
 * If you have edited the file, please update
 * all the last-modified fields manually. Thanks!
 *
 * @last-modified by: 
 * @last-modified date: 
 * @last-modified time: 
 *
 * @author Swee Zhi
 * @date-created Oct 26, 2011    @time-created 12:37:12 PM
 *
 * @project: 
 * @module: 
 * @institution: 
 *
 */
package util.entityhelper;

import java.io.Serializable;
import java.sql.Time;
import util.enumeration.ActivityType;
import util.enumeration.SingaporeArea;
import util.enumeration.Time24H;
import util.enumeration.TransportType;
import util.enumhelper.LocalizedActivityType;
import util.enumhelper.LocalizedSingaporeArea;

public class ItinerarySlotState implements Serializable {
    // itinerary item
    private Long id;
    private String entityName; // where to draw information from
    private String dType;
    private Long itemKey; // primary id of stakeholder or attraction or any other activity
    
    private Time startTime;
    private Time endTime;
    private String activityName;
    private ActivityType activityType;
    private TransportType transportType;
   
    
    // not in database
    private String localizedSingaporeArea;
    private String localizedActivityType;
    private String localizedTransportType;
    private String localizedActivityName;
    private Time24H time24HstartTime;
    private Time24H time24HendTime;

    
    public ItinerarySlotState(Long id, String entityName,
                              String dType, Long itemKey,
                              Time startTime, Time endTime,
                              String activityName,
                              ActivityType activityType, TransportType transportType) {
        this.id = id;
        this.entityName = entityName;
        this.dType = dType;
        this.itemKey = itemKey;
        this.startTime = startTime;
        this.endTime = endTime;
        this.activityName = activityName;
        this.activityType = activityType;
        this.transportType = transportType;
    }
    
    public void setTime24HTime(Time24H startTime, Time24H endTime) {
        this.time24HstartTime = startTime;
        this.time24HendTime = endTime;
    }

    public void setLocalizedActivityInformation(String locale, 
                                                ActivityType activityType, String activityName, 
                                                SingaporeArea singaporeArea) {
//            , TransportType transportType) {
        this.localizedActivityType = LocalizedActivityType.getLocalizedActivityTypeAsString(activityType, locale);
        this.localizedActivityName = activityName;
        this.localizedSingaporeArea = LocalizedSingaporeArea.getLocalizedSingaporeAreaAsString(singaporeArea, locale);
//        this.localizedTransportType = LocalizedTransportType.getLocalizedTransportTypeAsString(transportType, locale);
    }
//    public void setFormattedDateTimeFields(Date startDate, Time startTime, Date endDate, Time endTime) {
//        this.startDate = startDate;
//        this.startTime = startTime;
//        this.endDate = endDate;
//        this.endTime = endTime;
//    }


    public String getEntityName() {
        return entityName;
    }

    public void setEntityName(String entityName) {
        this.entityName = entityName;
    }

    public Long getItemKey() {
        return itemKey;
    }

    public void setItemKey(Long itemKey) {
        this.itemKey = itemKey;
    }

    public Time getEndTime() {
        return endTime;
    }

    public void setEndTime(Time endTime) {
        this.endTime = endTime;
    }

    public Time getStartTime() {
        return startTime;
    }

    public void setStartTime(Time startTime) {
        this.startTime = startTime;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public ActivityType getActivityType() {
        return activityType;
    }

    public void setActivityType(ActivityType activityType) {
        this.activityType = activityType;
    }

    public String getLocalizedActivityName() {
        return localizedActivityName;
    }

    public void setLocalizedActivityName(String localizedActivityName) {
        this.localizedActivityName = localizedActivityName;
    }

    public String getLocalizedActivityType() {
        return localizedActivityType;
    }

    public void setLocalizedActivityType(String localizedActivityType) {
        this.localizedActivityType = localizedActivityType;
    }

    public String getLocalizedSingaporeArea() {
        return localizedSingaporeArea;
    }

    public void setLocalizedSingaporeArea(String localizedSingaporeArea) {
        this.localizedSingaporeArea = localizedSingaporeArea;
    }

    public String getLocalizedTransportType() {
        return localizedTransportType;
    }

    public void setLocalizedTransportType(String localizedTransportType) {
        this.localizedTransportType = localizedTransportType;
    }

    public TransportType getTransportType() {
        return transportType;
    }

    public void setTransportType(TransportType transportType) {
        this.transportType = transportType;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getdType() {
        return dType;
    }

    public void setdType(String dType) {
        this.dType = dType;
    }

    public Time24H getTime24HendTime() {
        return time24HendTime;
    }

    public void setTime24HendTime(Time24H time24HendTime) {
        this.time24HendTime = time24HendTime;
    }

    public Time24H getTime24HstartTime() {
        return time24HstartTime;
    }

    public void setTime24HstartTime(Time24H time24HstartTime) {
        this.time24HstartTime = time24HstartTime;
    }
    
}
